#ifndef inttype_h__
#define inttype_h__

#include <config.h>

#ifdef _WIN32
	typedef char        int8;
	typedef short       int16;
	typedef int         int32;
	typedef __int64     int64;

	typedef unsigned char       uint8;
	typedef unsigned short      uint16;
	typedef unsigned int        uint32;
	typedef unsigned __int64    uint64;
#elif defined( _WIN64 )
	typedef char        int8;
	typedef short       int16;
	typedef int         int32;
	typedef long        int64;

	typedef unsigned char       uint8;
	typedef unsigned short      uint16;
	typedef unsigned int        uint32;
	typedef unsigned long       uint64;
#elif defined( LINUX )

#if OS_BIT == 32
    typedef char        int8;
    typedef short       int16;
    typedef int         int32;
    typedef long long   int64;

    typedef unsigned char       uint8;
    typedef unsigned short      uint16;
    typedef unsigned int        uint32;
    typedef unsigned long long  uint64;
#elif OS_BIT == 64
    typedef char        int8;
    typedef short       int16;
    typedef int         int32;
    typedef long        int64;

    typedef unsigned char       uint8;
    typedef unsigned short      uint16;
    typedef unsigned int        uint32;
    typedef unsigned long       uint64;
#else // other than 32-bit or 64-bit
#error unsupported os-bit(linux)
#endif // os-bit checking

#else
#error unsupported os
#endif

#endif // inttype_h__
